package jpa.entitys.promis.sales;

import java.io.Serializable;

import javax.persistence.*;

import java.math.BigDecimal;
import java.util.Date;


/**
 * The persistent class for the VW_SYNC_MKT_BANK_DEDU_REQU database table.
 * 
 */
@Entity
@Table(name="VW_SYNC_MKT_BANK_DEDU_REQU")
@NamedQueries({
    @NamedQuery(name = "VwSyncMktBankDeduRequ.findAll", query = " SELECT c FROM VwSyncMktBankDeduRequ c "),
    @NamedQuery(name = "VwSyncMktBankDeduRequ.findById", query = " SELECT c FROM VwSyncMktBankDeduRequ c WHERE c.mktBankformRequestId = :Id "),
    @NamedQuery(name = "VwSyncMktBankDeduRequ.findByStatus", query = " SELECT c FROM VwSyncMktBankDeduRequ c WHERE c.status = :status And c.syncIsstaging = :syncIsstaging "),
    @NamedQuery(name = "VwSyncMktBankDeduRequ.findByDocumentNo", query = " SELECT c FROM VwSyncMktBankDeduRequ c WHERE c.company = :company And c.project = :project And c.documentNo = :documentNo And c.status = :status And c.syncIsstaging = :syncIsstaging"),
    @NamedQuery(name = "VwSyncMktBankDeduRequ.findByContractNo", query = " SELECT c FROM VwSyncMktBankDeduRequ c WHERE c.company = :company And c.project = :project And c.contractNo = :contractNo And c.status = :status And c.syncIsstaging = :syncIsstaging")
})
public class VwSyncMktBankDeduRequ extends jpa.entitys.common.CommonEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	@Column(name="ACCOUNT_NAME", length=300)
	private String accountName;

	@Column(name="BANK_AC_TYPE", length=10)
	private String bankAcType;

	@Column(name="BANK_ACCOUNT_NO", length=30)
	private String bankAccountNo;

	@Column(name="BANK_BRANCH_CODE", length=30)
	private String bankBranchCode;

	@Column(name="BANK_BRANCH_NAME", length=300)
	private String bankBranchName;

	@Column(name="BANK_CODE", length=30)
	private String bankCode;

	@Column(name="BANK_COUNTRY", length=2)
	private String bankCountry;

	@Column(name="BANK_KEY", length=60)
	private String bankKey;

	@Column(name="BANK_NAME", length=300)
	private String bankName;

	@Column(length=2)
	private String company;

	@Column(name="CONTRACT_NUMBER", precision=6)
	private Long contractNumber;

	@Column(name="CONTRACT_SERIES", length=4)
	private String contractSeries;

	@Column(name="CUSTOMER_CODE", length=30)
	private String customerCode;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="DATE_FOR_DEDUCT")
	private Date dateForDeduct;

	@Column(name="DEDUCT_AMOUNT", precision=16, scale=2)
	private BigDecimal deductAmount;

	@Column(name="DEDUCT_PERIOD", precision=16, scale=2)
	private BigDecimal deductPeriod;

	@Column(name="DOCUMENT_NO", length=2000)
	private String documentNo;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="END_PAY")
	private Date endPay;

    @Id
	@Column(name="MKT_BANKFORM_REQUEST_ID", length=2000)
	private String mktBankformRequestId;
    
    @Override public String toString() { return org.apache.commons.lang.builder.ToStringBuilder.reflectionToString(this);}

	@Column(length=30)
	private String project;

	@Column(length=500)
	private String remarks;

	@Column(name="REVISION_NUMBER", precision=3)
	private Long revisionNumber;

	@Column(name="SEQ_NO", precision=6)
	private Long seqNo;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="START_PAY")
	private Date startPay;

	@Column(length=1)
	private String status;

	@Column(name="SYNC_CREATEDBY", length=100)
	private String syncCreatedby;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="SYNC_CREATEDON")
	private Date syncCreatedon;

	@Column(name="SYNC_EXTERNAL_REF_KEY", length=100)
	private String syncExternalRefKey;

	@Column(name="SYNC_EXTERNAL_REF_NO", length=100)
	private String syncExternalRefNo;

	@Column(name="SYNC_ISSTAGING", length=1)
	private String syncIsstaging;

	@Column(name="SYNC_ISSYNC", length=1)
	private String syncIssync;

	@Column(name="SYNC_UPDATEDBY", length=100)
	private String syncUpdatedby;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="SYNC_UPDATEDON")
	private Date syncUpdatedon;

	@Column(name="TYPE_OF_CONTRACT", length=2)
	private String typeOfContract;

	@Column(name="UNIT_NUMBER", length=30)
	private String unitNumber;
	
	@Column(name="CONTRACT_NO", length=100)
	private String contractNo; 
	
	@Column(name="SAP_PLANT_CODE", length=100)
	private String sapPlantCode;
	
	@Column(name="SAP_COMPANY_CODE", length=100)
	private String sapCompanyCode;

    /**
	 * @return the sapPlantCode
	 */
	public String getSapPlantCode() {
		return sapPlantCode;
	}

	/**
	 * @param sapPlantCode the sapPlantCode to set
	 */
	public void setSapPlantCode(String sapPlantCode) {
		this.sapPlantCode = sapPlantCode;
	}

	/**
	 * @return the sapCompanyCode
	 */
	public String getSapCompanyCode() {
		return sapCompanyCode;
	}

	/**
	 * @param sapCompanyCode the sapCompanyCode to set
	 */
	public void setSapCompanyCode(String sapCompanyCode) {
		this.sapCompanyCode = sapCompanyCode;
	}

	public VwSyncMktBankDeduRequ() {
    }
    
	/**
	 * @return the contractNo
	 */
	public String getContractNo() {
		return contractNo;
	}



	/**
	 * @param contractNo the contractNo to set
	 */
	public void setContractNo(String contractNo) {
		this.contractNo = contractNo;
	}



	public String getAccountName() {
		return this.accountName;
	}

	public void setAccountName(String accountName) {
		this.accountName = accountName;
	}

	public String getBankAcType() {
		return this.bankAcType;
	}

	public void setBankAcType(String bankAcType) {
		this.bankAcType = bankAcType;
	}

	public String getBankAccountNo() {
		return this.bankAccountNo;
	}

	public void setBankAccountNo(String bankAccountNo) {
		this.bankAccountNo = bankAccountNo;
	}

	public String getBankBranchCode() {
		return this.bankBranchCode;
	}

	public void setBankBranchCode(String bankBranchCode) {
		this.bankBranchCode = bankBranchCode;
	}

	public String getBankBranchName() {
		return this.bankBranchName;
	}

	public void setBankBranchName(String bankBranchName) {
		this.bankBranchName = bankBranchName;
	}

	public String getBankCode() {
		return this.bankCode;
	}

	public void setBankCode(String bankCode) {
		this.bankCode = bankCode;
	}

	public String getBankCountry() {
		return this.bankCountry;
	}

	public void setBankCountry(String bankCountry) {
		this.bankCountry = bankCountry;
	}

	public String getBankKey() {
		return this.bankKey;
	}

	public void setBankKey(String bankKey) {
		this.bankKey = bankKey;
	}

	public String getBankName() {
		return this.bankName;
	}

	public void setBankName(String bankName) {
		this.bankName = bankName;
	}

	public String getCompany() {
		return this.company;
	}

	public void setCompany(String company) {
		this.company = company;
	}

	public Long getContractNumber() {
		return this.contractNumber;
	}

	public void setContractNumber(Long contractNumber) {
		this.contractNumber = contractNumber;
	}

	public String getContractSeries() {
		return this.contractSeries;
	}

	public void setContractSeries(String contractSeries) {
		this.contractSeries = contractSeries;
	}

	public String getCustomerCode() {
		return this.customerCode;
	}

	public void setCustomerCode(String customerCode) {
		this.customerCode = customerCode;
	}

	public Date getDateForDeduct() {
		return this.dateForDeduct;
	}

	public void setDateForDeduct(Date dateForDeduct) {
		this.dateForDeduct = dateForDeduct;
	}

	public BigDecimal getDeductAmount() {
		return this.deductAmount;
	}

	public void setDeductAmount(BigDecimal deductAmount) {
		this.deductAmount = deductAmount;
	}

	public BigDecimal getDeductPeriod() {
		return this.deductPeriod;
	}

	public void setDeductPeriod(BigDecimal deductPeriod) {
		this.deductPeriod = deductPeriod;
	}

	public String getDocumentNo() {
		return this.documentNo;
	}

	public void setDocumentNo(String documentNo) {
		this.documentNo = documentNo;
	}

	public Date getEndPay() {
		return this.endPay;
	}

	public void setEndPay(Date endPay) {
		this.endPay = endPay;
	}

	public String getMktBankformRequestId() {
		return this.mktBankformRequestId;
	}

	public void setMktBankformRequestId(String mktBankformRequestId) {
		this.mktBankformRequestId = mktBankformRequestId;
	}

	public String getProject() {
		return this.project;
	}

	public void setProject(String project) {
		this.project = project;
	}

	public String getRemarks() {
		return this.remarks;
	}

	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}

	public Long getRevisionNumber() {
		return this.revisionNumber;
	}

	public void setRevisionNumber(Long revisionNumber) {
		this.revisionNumber = revisionNumber;
	}

	public Long getSeqNo() {
		return this.seqNo;
	}

	public void setSeqNo(Long seqNo) {
		this.seqNo = seqNo;
	}

	public Date getStartPay() {
		return this.startPay;
	}

	public void setStartPay(Date startPay) {
		this.startPay = startPay;
	}

	public String getStatus() {
		return this.status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public String getSyncCreatedby() {
		return this.syncCreatedby;
	}

	public void setSyncCreatedby(String syncCreatedby) {
		this.syncCreatedby = syncCreatedby;
	}

	public Date getSyncCreatedon() {
		return this.syncCreatedon;
	}

	public void setSyncCreatedon(Date syncCreatedon) {
		this.syncCreatedon = syncCreatedon;
	}

	public String getSyncExternalRefKey() {
		return this.syncExternalRefKey;
	}

	public void setSyncExternalRefKey(String syncExternalRefKey) {
		this.syncExternalRefKey = syncExternalRefKey;
	}

	public String getSyncExternalRefNo() {
		return this.syncExternalRefNo;
	}

	public void setSyncExternalRefNo(String syncExternalRefNo) {
		this.syncExternalRefNo = syncExternalRefNo;
	}

	public String getSyncIsstaging() {
		return this.syncIsstaging;
	}

	public void setSyncIsstaging(String syncIsstaging) {
		this.syncIsstaging = syncIsstaging;
	}

	public String getSyncIssync() {
		return this.syncIssync;
	}

	public void setSyncIssync(String syncIssync) {
		this.syncIssync = syncIssync;
	}

	public String getSyncUpdatedby() {
		return this.syncUpdatedby;
	}

	public void setSyncUpdatedby(String syncUpdatedby) {
		this.syncUpdatedby = syncUpdatedby;
	}

	public Date getSyncUpdatedon() {
		return this.syncUpdatedon;
	}

	public void setSyncUpdatedon(Date syncUpdatedon) {
		this.syncUpdatedon = syncUpdatedon;
	}

	public String getTypeOfContract() {
		return this.typeOfContract;
	}

	public void setTypeOfContract(String typeOfContract) {
		this.typeOfContract = typeOfContract;
	}

	public String getUnitNumber() {
		return this.unitNumber;
	}

	public void setUnitNumber(String unitNumber) {
		this.unitNumber = unitNumber;
	}

}